Aspectual Mixin Layers

نویسندگان

  • Sven Apel
  • Thomas Leich
  • Gunter Saake
چکیده

Feature-Oriented Programming (FOP) is an appropriate programming paradigm to implement program families and incremental designs. Beside numerous strengths in doing that FOP yields several drawbacks, especially regarding the ability to localize and modularize crosscutting concerns. This is exactly the strength of another prominent programming paradigm, Aspect-Oriented Programming (AOP). In this article we contribute a set of evaluation criteria as well as a detailed evaluation and comparison of AOP and FOP. The evaluation criteria are tailored especially for incremental software development. The evaluation reveals that aspects and features are not concurrent concepts. In fact AOP has several strengths to improve FOP in order to implement crosscutting features. Based on these results we introduce the novel notion of aspectual mixin layers (AMLs) that integrate AOP concepts into FOP. Our evaluation of AMLs reveals that they improve the crosscutting modularity of features. In a subsequent case study we clarify and discuss the benefits and limitations of AMLs. Finally, we suggest two potential derivates of AMLs that yield different promising properties.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

FeatureC++: Feature-Oriented and Aspect-Oriented Programming in C++

This paper presents FeatureC++, a novel programming language which supports Feature-Oriented Programming (FOP) for C++. Besides well-known concepts of FOP languages, FeatureC++ supports several novel FOP language features, in particular multiple inheritance and templates for Generic Programming. Furthermore, FeatureC++ solves, as some other FOP languages, the extensibility problem, the construc...

متن کامل

Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution

Starting from the advantages of using Feature-Oriented Programming (FOP) and program families to support software evolution, this paper discusses the drawbacks of current FOP techniques. In particular we address the insufficient crosscutting modularity that complicates software evolution. To overcome this tension we propose the integration of concepts of Aspect-Oriented Programming (AOP) into e...

متن کامل

Aspect Refinement and Bounded Quantification in Incremental Designs

This article investigates aspects in the context of the incremental software development, i.e. software product lines. Specifically, we propose the integration of aspects into AHEAD, an architectural model for feature-based product line development. We introduce the notion of aspect refinement based on Aspectual Mixin Layers, a novel technique for implementing features. Aspect refinement enable...

متن کامل

EggShell a workbench for the assessment of modeling pipelines for scientific communities

Feature-Oriented Programming (FOP ) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction me...

متن کامل

An Empirical Study on Features and Aspects

Recent studies have suggested the techniques of aspect-oriented and feature-oriented programming be combined to overcome their individual shortcomings. While previous work mainly argues on the basis of conceptual considerations and micro examples, in this paper, we evaluate the key ideas quantitatively by means of a non-trivial case study, a product line for overlay networks. Specifically, we p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005